--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / tests / backend / test_message_handler_extended.py
Displaying Raw • Download
tests/backend/test_message_handler_extended.py 66412c74389b272bbd7ced2f5071396e5031a59f (66412c74) Text, 2.53 KB
Tff7b72from T7ee787unittestT7ee787.T7ee787mock Tff7b72import Te6edf3MagicMock
Tff7b72import T7ee787pytest
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787message_handler Tff7b72import Te6edf3MessageHandler
Tf0883e@pytestTff7b72.Td2a8fffixture
Tff7b72def Td2a8ffmock_dbTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3db Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3dbTff7b72.Td2a8ffprovider Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3db
Tff7b72def Td2a8fftest_get_conversation_messagesTb4b4b4(Te6edf3mock_dbTb4b4b4)Tb4b4b4:
Te6edf3handler Tff7b72= Te6edf3MessageHandlerTb4b4b4(Te6edf3mock_dbTb4b4b4)
Te6edf3handlerTff7b72.Td2a8ffget_conversation_messagesTb4b4b4(Ta5d6ff"Ta5d6fflocalTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffpeerTa5d6ff"Tb4b4b4, Te6edf3limitTff7b72=T79c0ff50Tb4b4b4, Te6edf3offsetTff7b72=T79c0ff10Tb4b4b4)
Te6edf3argsTb4b4b4, Te6edf3_ Tff7b72= Te6edf3mock_dbTff7b72.Td2a8ffproviderTff7b72.Td2a8fffetchallTff7b72.Td2a8ffcall_args
Te6edf3queryTb4b4b4, Te6edf3params Tff7b72= Te6edf3args
Tff7b72assert Ta5d6ff"Ta5d6ffpeer_hash = ?Ta5d6ff" Tff7b72in Te6edf3query
Tff7b72assert Ta5d6ff"Ta5d6ffLIMIT ? OFFSET ?Ta5d6ff" Tff7b72in Te6edf3query
Tff7b72assert Te6edf3params Tff7b72== Tb4b4b4[Ta5d6ff"Ta5d6ffpeerTa5d6ff"Tb4b4b4, T79c0ff50Tb4b4b4, T79c0ff10Tb4b4b4]
Tff7b72def Td2a8fftest_get_conversation_messages_with_idsTb4b4b4(Te6edf3mock_dbTb4b4b4)Tb4b4b4:
Te6edf3handler Tff7b72= Te6edf3MessageHandlerTb4b4b4(Te6edf3mock_dbTb4b4b4)
Te6edf3handlerTff7b72.Td2a8ffget_conversation_messagesTb4b4b4(Ta5d6ff"Ta5d6fflocalTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffpeerTa5d6ff"Tb4b4b4, Te6edf3after_idTff7b72=T79c0ff100Tb4b4b4, Te6edf3before_idTff7b72=T79c0ff200Tb4b4b4)
Te6edf3argsTb4b4b4, Te6edf3_ Tff7b72= Te6edf3mock_dbTff7b72.Td2a8ffproviderTff7b72.Td2a8fffetchallTff7b72.Td2a8ffcall_args
Te6edf3queryTb4b4b4, Te6edf3params Tff7b72= Te6edf3args
Tff7b72assert Ta5d6ff"Ta5d6ffid > ?Ta5d6ff" Tff7b72in Te6edf3query
Tff7b72assert Ta5d6ff"Ta5d6ffid < ?Ta5d6ff" Tff7b72in Te6edf3query
Tff7b72assert T79c0ff100 Tff7b72in Te6edf3params
Tff7b72assert T79c0ff200 Tff7b72in Te6edf3params
Tff7b72def Td2a8fftest_delete_conversationTb4b4b4(Te6edf3mock_dbTb4b4b4)Tb4b4b4:
Te6edf3handler Tff7b72= Te6edf3MessageHandlerTb4b4b4(Te6edf3mock_dbTb4b4b4)
Te6edf3handlerTff7b72.Td2a8ffdelete_conversationTb4b4b4(Ta5d6ff"Ta5d6fflocalTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffpeerTa5d6ff"Tb4b4b4)
Tff7b72assert Te6edf3mock_dbTff7b72.Td2a8ffproviderTff7b72.Td2a8ffexecuteTff7b72.Td2a8ffcall_count Tff7b72== T79c0ff4
Te6edf3calls Tff7b72= Tb4b4b4[Te6edf3mock_dbTff7b72.Td2a8ffproviderTff7b72.Td2a8ffexecuteTff7b72.Td2a8ffcall_args_listTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4[T79c0ff0Tb4b4b4] Tff7b72for Te6edf3i Tff7b72in Tffa657rangeTb4b4b4(T79c0ff4Tb4b4b4)Tb4b4b4]
Tff7b72assert Ta5d6ff"Ta5d6ffDELETE FROM lxmf_messagesTa5d6ff" Tff7b72in Te6edf3callsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72assert Te6edf3callsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4[T79c0ff1Tb4b4b4] Tff7b72== Tb4b4b4[Ta5d6ff"Ta5d6ffpeerTa5d6ff"Tb4b4b4]
Tff7b72assert Ta5d6ff"Ta5d6ffDELETE FROM lxmf_conversation_read_stateTa5d6ff" Tff7b72in Te6edf3callsTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72assert Te6edf3callsTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4[T79c0ff1Tb4b4b4] Tff7b72== Tb4b4b4[Ta5d6ff"Ta5d6ffpeerTa5d6ff"Tb4b4b4]
Tff7b72assert Ta5d6ff"Ta5d6ffDELETE FROM lxmf_conversation_foldersTa5d6ff" Tff7b72in Te6edf3callsTb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72assert Te6edf3callsTb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4[T79c0ff1Tb4b4b4] Tff7b72== Tb4b4b4[Ta5d6ff"Ta5d6ffpeerTa5d6ff"Tb4b4b4]
Tff7b72assert Ta5d6ff"Ta5d6ffDELETE FROM lxmf_conversation_pinsTa5d6ff" Tff7b72in Te6edf3callsTb4b4b4[T79c0ff3Tb4b4b4]Tb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72assert Te6edf3callsTb4b4b4[T79c0ff3Tb4b4b4]Tb4b4b4[T79c0ff1Tb4b4b4] Tff7b72== Tb4b4b4[Ta5d6ff"Ta5d6ffpeerTa5d6ff"Tb4b4b4]
Tff7b72def Td2a8fftest_search_messagesTb4b4b4(Te6edf3mock_dbTb4b4b4)Tb4b4b4:
Te6edf3handler Tff7b72= Te6edf3MessageHandlerTb4b4b4(Te6edf3mock_dbTb4b4b4)
Te6edf3handlerTff7b72.Td2a8ffsearch_messagesTb4b4b4(Ta5d6ff"Ta5d6fflocalTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhelloTa5d6ff"Tb4b4b4)
Te6edf3argsTb4b4b4, Te6edf3_ Tff7b72= Te6edf3mock_dbTff7b72.Td2a8ffproviderTff7b72.Td2a8fffetchallTff7b72.Td2a8ffcall_args
Tff7b72assert Ta5d6ff"Tffd700%heTa5d6fflloTa5d6ff%Ta5d6ff" Tff7b72in Te6edf3argsTb4b4b4[T79c0ff1Tb4b4b4]
Tff7b72def Td2a8fftest_get_conversations_baseTb4b4b4(Te6edf3mock_dbTb4b4b4)Tb4b4b4:
Te6edf3handler Tff7b72= Te6edf3MessageHandlerTb4b4b4(Te6edf3mock_dbTb4b4b4)
Te6edf3handlerTff7b72.Td2a8ffget_conversationsTb4b4b4(Ta5d6ff"Ta5d6fflocalTa5d6ff"Tb4b4b4)
Te6edf3argsTb4b4b4, Te6edf3_ Tff7b72= Te6edf3mock_dbTff7b72.Td2a8ffproviderTff7b72.Td2a8fffetchallTff7b72.Td2a8ffcall_args
Te6edf3query Tff7b72= Te6edf3argsTb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72assert Ta5d6ff"Ta5d6ffSELECTTa5d6ff" Tff7b72in Te6edf3query
Tff7b72assert Ta5d6ff"Ta5d6ffFROM lxmf_messages m1Ta5d6ff" Tff7b72in Te6edf3query
Tff7b72def Td2a8fftest_get_conversations_with_filtersTb4b4b4(Te6edf3mock_dbTb4b4b4)Tb4b4b4:
Te6edf3handler Tff7b72= Te6edf3MessageHandlerTb4b4b4(Te6edf3mock_dbTb4b4b4)
Te6edf3handlerTff7b72.Td2a8ffget_conversationsTb4b4b4(
Ta5d6ff"Ta5d6fflocalTa5d6ff"Tb4b4b4,
Te6edf3searchTff7b72=Ta5d6ff"Ta5d6fftestTa5d6ff"Tb4b4b4,
Te6edf3filter_unreadTff7b72=Tff7b72TrueTb4b4b4,
Te6edf3filter_failedTff7b72=Tff7b72TrueTb4b4b4,
Tb4b4b4)
Te6edf3argsTb4b4b4, Te6edf3_ Tff7b72= Te6edf3mock_dbTff7b72.Td2a8ffproviderTff7b72.Td2a8fffetchallTff7b72.Td2a8ffcall_args
Te6edf3query Tff7b72= Te6edf3argsTb4b4b4[T79c0ff0Tb4b4b4]
Te6edf3params Tff7b72= Te6edf3argsTb4b4b4[T79c0ff1Tb4b4b4]
T8b949e# Check if any part of the query matches search or filters
Tff7b72assert Ta5d6ff"Ta5d6ffm1.peer_hashTa5d6ff" Tff7b72in Te6edf3query
Tff7b72assert Ta5d6ff"Ta5d6ffm1.state = Ta5d6ff'Ta5d6fffailedTa5d6ff'Ta5d6ff" Tff7b72in Te6edf3query
Tff7b72assert Ta5d6ff"Ta5d6ff%Ta5d6fftestTa5d6ff%Ta5d6ff" Tff7b72in Te6edf3params
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────